package com.googlecode.cannedbeans.generator.util;

import java.lang.annotation.Annotation;
import java.util.Collection;

public interface AnnotationExtractor {
    /**
     * Extracts all the annotations for a certain field, including those on its getter & setter methods (if any).
     * @param string
     * @param clazz
     * @return
     * @throws com.googlecode.cannedbeans.generator.util.AnnotationExtractorException
     */
	Collection<Annotation> extractPropertyAnnotations(String string, Class<?> clazz) throws AnnotationExtractorException;
        void setAnnotationFilteringStrategy (FilteringStrategy strategy);
        boolean addAnnotationFilter (AnnotationFilter filter);
        boolean removeAnnotationFilter (AnnotationFilter filter);
}
